/*
  Table of contents:
  - Document setup
  - Header
  - Page header
  - Shortcodes
  - Table
  - Form
  - Widgets
  - Blog
  - Isotope
  - Portfolio (Gallery)
  - Portfolio item
  - Contact page
  - Footer
  - Dm3 responsive slider
  - Design for a width of 768px
  - Design for a width of 320px
  - Design for a width of 480px
*/


/**************************
 * Document setup
 **************************/
html {
  overflow: auto;
  overflow-x: hidden;
  overflow-y: scroll;
}

body {
  font-size: 14px;
  line-height: 22px;
  font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
  color: #555;
}

p {
  margin-bottom: 20px;
}

a {
  text-decoration: none;
  color: #0689c0;
}

strong {
  font-weight: bold;
}

em {
  font-style: italic;
}

abbr {
  border-bottom: 1px dotted #555;
  cursor: help;
}

blockquote {
  padding: 0;
  margin: 0 20px 20px 20px;
  font-style: italic;
}

blockquote p {
  margin-bottom: 0;
  font-size: 18px;
  line-height: 26px;
}

blockquote small {
  color: #919191;
}

blockquote small:before {
  content: '\2014 \00A0';
}

pre {
  display: block;
  padding: 10px;
  margin: 0 0 20px 0;
  background-color: #f5f5f5;
  border: 1px solid #ddd;
}

code {
  display: inline-block;
  padding: 0 4px;
  background-color: #f5f5f5;
  color: #000;
}

.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.align-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.align-left {
  margin-right: 10px;
  margin-top: 5px;
  float: left;
}

.align-right {
  margin-left: 10px;
  margin-top: 5px;
  float: right;
}

h1, h2, h3, h4, h5, h6 {
  margin-bottom: 10px;
  font-family: "bebas_neueregular", Arial, Helvetica, sans-serif;
  color: #000;
}

h1 {
  font-size: 36px;
  line-height: 40px;
}

h2 {
  font-size: 30px;
  line-height: 34px;
}

h3 {
  font-size: 24px;
  line-height: 28px;
}

h4 {
  font-size: 20px;
  line-height: 24px;
}

h5 {
  font-size: 16px;
  line-height: 20px;
}

h6 {
  font-size: 14px;
  line-height: 20px;
  font-family: Arial, Helvetica, sans-serif;
}

img {
  max-width: 100%;
  height: auto;
}


#site-bg {
  width: 100%;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 105px;
  bottom: 0;
}

#header-toolbar ~ #site-bg {
  top: 145px;
}

#site-bg-overlay {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 2;
  left: 0;
  top: 0;
  background: url("../images/bg-overlay.png") repeat 0 0;
}


.dm3-scroller {
  width: 100%;
  margin: 105px 0 0 0;
  padding: 60px 0 0 0;
  position: relative;
  z-index: 3;
}

#header-toolbar ~ .dm3-scroller {
  margin-top: 145px;
}

.dm3-scroller-inner > .content {
  width: 100%;
  float: left;
}

.content > .content-inner {
  max-width: 100%;
  width: 1060px;
  margin: 0 auto;
  position: relative;
}

.content-inner > .section {
  padding: 60px 0 40px 0;
  background: #fff;
}

.content-inner > .section-bg {
  background-color: #eee;
}

.content-inner > .section:after {
  display: table;
  content: '';
  clear: both;
}

.content-inner > .content-loader {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 9998;
  left: 0;
  top: 0;
  background: #fff url("../images/preloader.gif") no-repeat center 200px;
}


.post ul,
.post ol {
  margin-left: 20px;
  margin-bottom: 20px;
}

.post ul ul, .post ul ol, .post ol ol, .post ol ul {
  margin-bottom: 0;
}

.post ul {
  list-style: outside square;
}

.post ol {
  list-style: outside decimal;
}


.dm3-lightbox {
  display: inline-block;
  padding: 4px;
  line-height: 0;
  font-size: 0;
  background-color: #eee;
}


.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

.video-container iframe,  
.video-container object,  
.video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


.pager {
  margin: 40px 0 20px -8px;
  overflow: hidden;
}

.pager > a,
.pager > span {
  display: block;
  margin: 0 0 0 8px;
  padding: 5px 10px;
  border-bottom: 2px solid #ddd;
  float: left;
  color: #999;
  -webkit-transition: color 0.2s, border-color 0.2s;
  transition: color 0.2s, border-color 0.2s, background-color 0.2s;
}

.pager > a:hover,
.pager > span {
  font-weight: bold;
  color: #0689c0;
  border-color: #0689c0;
  background-color: #eee;
}


.sidebar .widget:after,
.dm3-tabs-testimonials .dm3-tabs-nav:after {
  display: block;
  content: '';
  position: absolute;
  left: 2px;
  right: 2px;
  bottom: -4px;
  border: 1px solid #ddd;
  height: 2px;
  background: #fff;
}


/**************************
 * Header
 **************************/
#header-toolbar {
  width: 100%;
  height: 28px;
  padding: 12px 0 0 0;
  position: fixed;
  z-index: 6;
  left: 0;
  top: 0;
  background: #0689c0;
  font-size: 12px;
  line-height: 20px;
  color: #fff;
  overflow: hidden;
}

#header-toolbar-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.header-contact {
  margin-left: 20px;
}

.header-contact li {
  margin: 0 20px 0 0;
  float: left;
  color: #fff;
}

.header-contact li > div {
  display: inline-block;
}

.header-contact .icon {
  margin-right: 5px;
  font-size: 14px;
}

.header-social {
  margin-right: 20px;
  float: right;
}

.header-social li {
  margin: 0 0 0 15px;
  float: left;
}

.header-social a {
  color: #fff;
  font-size: 14px;
}

.header-social a:hover {
  color: #fff;
}


#site-nav {
  width: 100%;
  height: 100px;
  position: fixed;
  z-index: 5;
  left: 0;
  top: 0;
  border-top: 5px solid #0689c0;
  background: #fff;
  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.6);
}

#header-toolbar + #site-nav {
  top: 40px;
}

.ie8-shadow {
  width: 100%;
  height: 100px;
  position: fixed;
  z-index: 4;
  left: 0;
  top: 8px;
  background: #000;
  filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius=3,MakeShadow=true,ShadowOpacity=0.30);
  -ms-filter: "progid:DXImageTransform.Microsoft.Blur(PixelRadius=3,MakeShadow=true,ShadowOpacity=0.30)";
  zoom: 1;
}

#header-toolbar ~ .ie8-shadow {
  height: 135px;
}

#header-inner {
  max-width: 1060px;
  margin: 0 auto;
}

#logo {
  height: 100px;
  line-height: 100px;
  position: relative;
  float: left;
}

#logo > a {
  display: inline-block;
  vertical-align: middle;
  line-height: 37px;
}

#ajax-preloader {
  display: none;
  width: 50px;
  height: 50px;
  margin: -25px 0 0 20px;
  position: absolute;
  left: 100%;
  top: 50%;
  background: #fff url("../images/preloader.gif") no-repeat center center;
}

#nav-mobile {
  display: none;
}

#mobile-nav-trigger {
  display: none;
}

.nav-desktop {
  float: right;
}

.nav-desktop > li {
  float: left;
  list-style: none;
  position: relative;
}

.nav-desktop > li > a {
  display: block;
  height: 100px;
  padding: 0 20px;
  line-height: 100px;
  font-family: 'bebas_neueregular';
  text-decoration: none;
  font-size: 23px;
  color: #000;
}

.nav-desktop .current-menu-item > a {
  color: #0689c0;
  background-color: #eee;
}

.nav-desktop ul {
  display: none;
  width: 160px;
  padding: 0;
  position: absolute;
  z-index: 2;
  left: 0;
  top: 100%;
  margin-top: -4px;
  border-top: 4px solid #0689c0;
  opacity: 0;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.nav-desktop ul ul {
  top: 0;
  margin-top: 0;
  left: 160px;
  border: 0;
}

.nav-desktop li:hover > ul {
  opacity: 1;
  display: block;
}

.nav-desktop ul a {
  display: block;
  padding: 10px 20px;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  background: url("../images/transparent-black.png") repeat 0 0;
  -webkit-transition: background-color 0.1s;
  transition: background-color 0.1s;
}

.nav-desktop ul a:hover,
.nav-desktop ul li:hover > a {
  background-color: #222;
}

#nav-pointer {
  display: none;
  width: 0;
  height: 0;
  border: 10px solid;
  border-color: #0689c0 transparent transparent transparent;
  position: absolute;
  left: 0;
  top: 0;
}

#header-toolbar {
  -webkit-transition: height 0.2s, padding-top 0.2s;
  transition: height 0.2s, padding-top 0.2s;
}

#site-nav {
  -webkit-transition: height 0.2s, top 0.2s;
  transition: height 0.2s, top 0.2s;
}

.nav-desktop > li > a,
#search-trigger {
  -webkit-transition: height 0.2s, line-height 0.2s;
  transition: height 0.2s, line-height 0.2s;
}

.on-scroll .dm3-scroller {
  -webkit-transition: margin-top 0.2s;
  transition: margin-top 0.2s;
}

#site-bg {
  -webkit-transition: top 0.2s;
  transition: top 0.2s;
}

.on-scroll #site-bg,
.on-scroll #header-toolbar ~ #site-bg {
  top: 75px;
}

.on-scroll #header-toolbar {
  height: 0;
  padding-top: 0;
}

.on-scroll #site-nav,
.on-scroll #header-toolbar ~ #site-nav {
  height: 70px;
  top: 0;
}

.on-scroll #logo {
  height: 70px;
  line-height: 70px;
}

.on-scroll .nav-desktop > li > a,
.on-scroll #search-trigger {
  height: 70px;
  line-height: 70px;
}

.on-scroll .dm3-scroller,
.on-scroll #header-toolbar ~ .dm3-scroller {
  margin-top: 75px;
}

.on-scroll .ie8-shadow {
  height: 65px !important;
}


/**************************
 * Page header
 **************************/
#content-header {
  width: 1060px;
  max-width: 100%;
  margin: 0 auto;
  padding: 30px 0;
  background: url("../images/transparent-black.png") repeat 0 0;
  overflow: hidden;
}

#content-header h1 {
  margin: 0;
  font-size: 50px;
  line-height: 54px;
  color: #fff;
  float: left;
}

#content-header .page-description {
  margin: 16px 0 0 0;
  color: #919191;
  float: right;
}


/**************************
 * Shortcodes
 **************************/
/* Call to action */
.dm3-cta {
  margin: 0 0 20px 0;
  position: relative;
}

.dm3-cta h2 {
  margin-bottom: 20px;
  padding: 0 0 20px 0;
  font-size: 42px;
  line-height: 46px;
  border-bottom: 1px solid #ddd;
}

.dm3-cta-button a {
  font-weight: bold;
}

/* Icons */
.dm3-box-icon-left .dm3-box-icon-icon span {
  color: #0689c0;
}

.dm3-box-icon-center {
  margin-bottom: 20px;
  font-size: 12px;
  line-height: 20px;
}

.dm3-box-icon-center .dm3-box-icon-icon {
  height: 50px;
  line-height: 50px;
  margin-bottom: 10px;
  background-color: transparent;
}

.dm3-box-icon-center .dm3-box-icon-icon span {
  font-size: 46px;
  line-height: 50px;
  color: #0689c0;
  vertical-align: top;
}

.dm3-box-icon-center .dm3-box-icon-content {
  padding: 0;
}

.dm3-box-icon-center .dm3-box-icon-content p {
  margin-bottom: 0;
}

/* Tabs */
.dm3-tabs-nav a,
.dm3-tabs-nav a:hover {
  color: #919191;
}

.dm3-tabs-nav .active a {
  color: #000;
}

/* Collapse */
.dm3-collapse-trigger a,
.dm3-collapse-trigger a:hover {
  color: #919191;
}

.dm3-collapse-open .dm3-collapse-trigger a {
  color: #000;
}

/* Testimonials */
.dm3-tabs-testimonials .dm3-tab-inner {
  padding: 20px;
  border: 1px solid #ddd;
}

.dm3-tabs-testimonials .dm3-tabs-nav {
  padding: 12px 0;
  text-align: center;
  border: 1px solid #ddd;
  border-top: 0;
  position: relative;
}

.dm3-tabs-testimonials .dm3-tabs-nav li {
  background: none;
}

.dm3-tabs-testimonials .dm3-tabs-nav .active a {
  background-color: #0689C0;
}

/* Team */
.dm3-member-block {
  position: relative;
}

.dm3-member-image {
  margin-bottom: 0;
}

body .dm3-member-title h2 {
  color: #000;
  font-size: 14px;
  line-height: 22px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: bold;
}

.dm3-member-title,
.dm3-member-description {
  margin: 0;
  padding: 0 10px 5px 10px;
  border: 1px solid #ddd;
  border-top: 0;
  border-bottom: 0;
}

.dm3-member-title {
  padding-top: 20px;
}

.dm3-member-social {
  padding-bottom: 20px;
  border: 1px solid #ddd;
  border-top: 0;
}

.dm3-member-block:after {
  display: block;
  content: '';
  position: absolute;
  left: 2px;
  right: 2px;
  bottom: -3px;
  border: 1px solid #ddd;
  height: 2px;
}

/* Box */
.dm3-box {
  margin: 0 0 20px 0;
  padding: 30px 30px 10px 30px;
  background-color: #eee;
}


/**************************
 * Table
 **************************/
.styled-table {
  width: 100%;
  margin-bottom: 20px;
}
    
.styled-table th, .styled-table td {
  border: 1px solid #ddd;
}

.styled-table th {
  font-weight: bold;
  padding: 8px;
  color: #000;
}

.styled-table td {
  padding: 8px;
}

.styled-table tr:hover td {
  background: #f5f5f5;
}


/**************************
 * Form
 **************************/
.form-1-field {
  margin-bottom: 20px;
}

.form-1-field input[type="text"],
.form-1-field textarea {
  padding: 8px;
  border: 0;
  background-color: #eee;
  border: 1px solid #ddd;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.form-1-field input[type="text"],
.form-1-field textarea {
  width: 100%;
}

.form-1-field input[type="text"]:focus,
.form-1-field textarea:focus {
  outline: 0;
  border: 1px solid #ddd;
  background-color: #f5f5f5;
}

.form-1-field > label {
  display: block;
  margin: 0 0 5px 0;
  text-transform: uppercase;
  font-size: 11px;
}

.form-1-large input[type="text"],
.form-1-large textarea {
  padding: 14px;
}

.form-1-actions {
  margin-bottom: 20px;
}

/* Header search */
#header-search {
  width: 1060px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  position: relative;
  background: url("../images/transparent-black.png") repeat 0 0;
}

#header-search.hidden {
  display: none;
}

#header-search.with-separator {
  border-bottom: 1px solid #555;
}

#header-search input[type="text"] {
  width: 100%;
  padding: 20px 90px 20px 20px;
  border: 0;
  outline: none;
  font-size: 24px;
  line-height: 28px;
  background: none;
  color: #fff;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

#header-search button {
  display: block;
  width: 69px;
  height: 100%;
  line-height: 100%;
  padding: 0;
  margin: 0;
  text-align: center;
  position: absolute;
  right: 0;
  top: 0;
  border: 0;
  background: #0689c0;
  cursor: pointer;
}

#header-search button span {
  font-size: 30px;
  line-height: 32px;
  vertical-align: middle;
  color: #fff;
}

#search-trigger {
  display: block;
  height: 100px;
  line-height: 100px;
  padding: 0 20px 0 20px;
  float: right;
}

#search-trigger span {
  font-size: 18px;
  line-height: 22px;
  color: #000;
}

#search-trigger.active {
  background-color: #eee;
}

#search-trigger.active span {
  color: #0689c0;
}


/**************************
 * Widgets
 **************************/
.sidebar-inner {
  padding: 0 0 0 20px;
}

.sidebar .widget {
  padding: 20px 20px 0 20px;
  border: 1px solid #ddd;
  margin-bottom: 20px;
  position: relative;
}

.sidebar .widget + .widget {
  margin-top: 60px;
}

.sidebar .widget-title {
  font-size: 22px;
  line-height: 26px;
}

.sidebar ul {
  margin-bottom: 20px;
}

.sidebar li a {
  color: #919191;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}

.sidebar li a:hover {
  color: #0689c0;
}

.sidebar li ul {
  margin-left: 20px;
  margin-bottom: 0;
}

/* Posts widget */
.dm3-widgets-posts {
  margin-bottom: 20px;
}

.dm3-widgets-posts li:after {
  display: 'table';
  clear: both;
  content: '';
}

.dm3-widgets-posts li + li {
  margin-top: 20px;
}

.dm3-widgets-post-image {
  float: left;
  margin: 4px 10px 0 0;
  padding: 4px;
  background-color: #eee;
  line-height: 0;
  font-size: 0;
}

.dm3-widgets-post-desciption {
  font-size: 12px;
  line-height: 20px;
}

.dm3-widgets-post-desciption > a {
  display: block;
  font-size: 14px;
  line-height: 22px;
}

/* Photos (Flickr) widget */
ul.dm3-widgets-flickr {
  margin: 0 0 10px -10px;
}

.dm3-widgets-flickr:after {
  display: table;
  content: "";
  clear: both;
}

.dm3-widgets-flickr li {
  width: 58px;
  height: 58px;
  margin: 0 0 10px 10px;
  float: left;
}

.dm3-widgets-flickr a {
  display: block;
  line-height: 0;
  padding: 4px;
  background-color: #eee;
}

/* Twitter widget */
.dm3-widgets-twitter {
  margin-bottom: 20px;
}

.dm3-widgets-twitter li + li {
  margin-top: 20px;
}

.dm3-widgets-twitter .created-at {
  margin: 5px 0 0 0;
  font-size: 12px;
  line-height: 20px;
}

/* Contact widget */
.dm3-contact-widget li {
  overflow: hidden;
  margin-bottom: 20px;
}

.dm3-contact-widget li .icon {
  width: 38px;
  height: 38px;
  line-height: 38px;
  margin: 3px 10px 0 0;
  float: left;
  background-color: #0689c0;
  text-align: center;
  color: #fff;
  font-size: 16px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
}

#footer .dm3-contact-widget li .icon {
  width: 34px;
  height: 34px;
  line-height: 34px;
}

.dm3-contact-value {
  overflow: hidden;
}


/**************************
 * Blog
 **************************/
.posts .post {
  margin-bottom: 60px;
}

.posts .post-meta {
  width: 140px;
  float: left;
  font-size: 12px;
  color: #919191;
}

.posts .post-meta li {
  padding: 10px 0;
  list-style: none;
}

.post-meta-label {
  text-transform: uppercase;
  font-size: 11px;
  font-weight: bold;
  color: #999;
}

.posts .post-meta li + li {
  border-top: 1px solid #ddd;
}

.posts .post-meta li:first-child {
  padding-top: 0;
}

.post-meta {
  font-weight: bold;
}

.post-meta ul {
  margin-left: 0;
}

.post-meta a {
  color: #000;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}

.post-meta a:hover {
  color: #0689c0;
}

.posts .post-media,
.posts .post-header,
.posts .post-content,
.posts .post-footer {
  margin-left: 160px;
}

.post-media {
  line-height: 0;
  margin-bottom: 20px;
}

.posts .post-header a {
  display: block;
  color: #000;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}

.posts .post-header a:hover {
  color: #0689c0;
}

.read-more {
  font-weight: bold;
}

.blog-post .post-header h1 {
  margin-bottom: 0;
}

.blog-post .post-meta {
  margin: 0 0 20px 0;
  font-size: 12px;
  color: #919191;
}

.blog-post .post-meta li {
  display: inline;
  margin: 0 20px 0 0;
}

.blog-post .post-meta li div {
  display: inline;
}

.blog-post .post-meta-label {
  margin-right: 5px;
}

.posts-navigation {
  margin-bottom: 20px;
  text-align: center;
}

.posts-navigation a {
  display: inline-block;
  margin: 0 10px;
  padding: 10px 15px 10px 15px;
  border-bottom: 2px solid #ddd;
  color: #919191;
  -webkit-transition: color 0.2s, border-color 0.2s;
  transition: color 0.2s, border-color 0.2s, background-color 0.2s;
}

.posts-navigation a:hover {
  color: #0689c0;
  border-color: #0689c0;
  background-color: #eee;
}

/* Comments */
#comments-title {
  margin-top: 60px;
}

body .commentlist {
  margin: 0;
  list-style: none;
}

body .commentlist .children {
  list-style: none;
}

.comment-wrap {
  margin: 0 0 60px 0;
  position: relative;
}

.comment-wrap .avatar {
  position: absolute;
  left: 0;
  top: 0;
  padding: 4px;
  background-color: #eee;
}

.comment-meta {
  margin: 0 0 0 60px;
  padding: 0 60px 0 0;
  font-size: 12px;
  line-height: 20px;
  color: #919191;
  font-style: normal;
}

.comment-meta i {
  font-style: normal;
}

.comment-meta a {
  color: #000;
  font-weight: bold;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}

.comment-body {
  margin: 5px 20px 0 60px;
}

.comment-reply {
  position: absolute;
  right: 10px;
  top: 0;
  font-size: 12px;
  line-height: 20px;
}

.comment-reply-link {
  color: #000;
  font-weight: bold;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}

.comment-meta a:hover,
.comment-reply-link:hover {
  color: #0689c0;
}


/**************************
 * Isotope
 **************************/
/* Isotope Filtering */
.isotope-item {
  z-index: 2;
}

.isotope-hidden.isotope-item {
  pointer-events: none;
  z-index: 1;
}

/* Isotope CSS3 transitions */
.isotope,
.isotope .isotope-item {
  -webkit-transition-duration: 0.8s;
     -moz-transition-duration: 0.8s;
      -ms-transition-duration: 0.8s;
       -o-transition-duration: 0.8s;
          transition-duration: 0.8s;
}

.isotope {
  -webkit-transition-property: height, width;
     -moz-transition-property: height, width;
      -ms-transition-property: height, width;
       -o-transition-property: height, width;
          transition-property: height, width;
}

.isotope .isotope-item {
  -webkit-transition-property: -webkit-transform, opacity;
     -moz-transition-property:    -moz-transform, opacity;
      -ms-transition-property:     -ms-transform, opacity;
       -o-transition-property:      -o-transform, opacity;
          transition-property:         transform, opacity;
}

/* disabling Isotope CSS3 transitions */
.isotope.no-transition,
.isotope.no-transition .isotope-item,
.isotope .isotope-item.no-transition {
  -webkit-transition-duration: 0s;
     -moz-transition-duration: 0s;
      -ms-transition-duration: 0s;
       -o-transition-duration: 0s;
          transition-duration: 0s;
}


/**************************
 * Portfolio (Gallery)
 **************************/
.dm3-gallery {
  margin: 0 0 0 -20px !important;
  overflow: hidden;
}

.dm3-gallery > li {
  margin: 0 0 20px 20px;
  float: left;
  list-style: none;
}

.dm3-gallery-2 > li {
  width: 460px;
}

.dm3-gallery-3 > li {
  width: 300px;
}

.dm3-gallery-4 > li {
  width: 220px;
}

.dm3-gallery > li img {
  width: 100%;
}

.portfolio-item {
  position: relative;
}

.portfolio-item:after {
  display: block;
  content: '';
  position: absolute;
  left: 2px;
  right: 2px;
  bottom: -3px;
  border: 1px solid #ddd;
  height: 2px;
}

.portfolio-item .image {
  display: block;
  position: relative;
  line-height: 0;
  font-size: 0;
}

.portfolio-item .description {
  padding: 20px;
  border: 1px solid #ddd;
  border-top: 1px solid #fff;
}

.portfolio-item .description h2 {
  margin-bottom: 5px;
  font-size: 14px;
  line-height: 22px;
  font-weight: bold;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.portfolio-item .description p {
  margin-bottom: 0;
}

.dm3-gallery-popover,
.dm3-gallery-popover .bg {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.dm3-gallery-popover {
  display: none;
}

.dm3-gallery-popover .bg {
  background: #000;
  opacity: 0.8;
  z-index: 2;
  filter: alpha(opacity=80);
}

.dm3-gallery-popover .icon {
  display: block;
  width: 60px;
  height: 60px;
  line-height: 70px;
  text-align: center;
  background: #0689c0;
  border-radius: 60px;
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  margin: -30px 0 0 -30px;
  font-size: 14px;
}

.dm3-gallery-popover .icon i {
  color: #fff;
  font-size: 28px;
  line-height: 28px;
}

.dm3-gallery-popover.mfp-iframe .icon i {
  position: relative;
  left: 2px;
}

.dm3-gallery-terms {
  margin: 0 0 30px -10px !important;
  overflow: hidden;
}

.dm3-gallery-terms li {
  margin: 0 0 10px 10px;
  float: left;
  list-style: none;
}

.dm3-gallery-terms a {
  display: block;
  padding: 10px 15px 10px 15px;
  color: #555;
  border-bottom: 2px solid #ddd;
  -webkit-transition: color 0.2s, border-color 0.2s;
  transition: color 0.2s, border-color 0.2s, background-color 0.2s;
}

.dm3-gallery-terms a:hover,
.dm3-gallery-terms .active a {
  color: #0689c0;
  border-color: #0689c0;
  background-color: #eee;
}


/**************************
 * Portfolio item
 **************************/
.portfolio-item-title {
  margin: 0 0 20px 0;
}

.portfolio-post .post-meta {
  margin: -10px 0 20px 0;
  font-size: 12px;
  color: #919191;
}

.portfolio-post .post-meta ul {
  list-style: none !important;
}

.portfolio-post .post-meta li + li {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #ddd;
}

.portfolio-post .post-meta li div {
  display: block;
}


/**************************
 * Contact page
 **************************/
#contact-map {
  height: 260px;
  margin: 0 0 20px 0;
}


/**************************
 * Footer
 **************************/
#footer {
  width: 1060px;
  max-width: 100%;
  margin: 0 auto 60px auto;
  background: url("../images/transparent-black.png") repeat 0 0;
  color: #999;
  position: relative;
  font-size: 12px;
  line-height: 20px;
}

#footer a {
  color: #bbb;
}

#footer a:hover {
  color: #fff;
  text-decoration: underline;
}

#footer-widgets {
  padding: 60px 0 40px 0;
  border-bottom: 1px solid #555;
}

#footer .widget-title {
  color: #fff;
  font-size: 22px;
  line-height: 26px;
}

#footer-widgets .widget {
  margin-bottom: 20px;
}

#footer-bottom {
  padding: 20px 0 60px 0;
  font-size: 12px;
  line-height: 20px;
}

#footer-copy {
  float: left;
}

#footer-back-to-top {
  float: right;
}


/**************************
 * Dm3 responsive slider
 **************************/
.dm3-rs {
  height: 60px;
  overflow: hidden;
  position: relative;
  margin: 0 0 20px 0;
}

.dm3-rs-loader {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #eee url("../images/preloader.gif") no-repeat center center;
}

.dm3-rs-slides {
  width: 100%;
  overflow: hidden;
}

.dm3-rs ul {
  width: 30000px;
}

.dm3-rs ul li {
  width: 596px;
  float: left;
  position: relative;
  list-style: none;
}

.dm3-rs ul li img {
  max-width: 100%;
  height: auto;
}

.dm3-rs-cover {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 100;
  left: 0;
  top: 0;
  background: #eee;
}

.dm3-rs .slide {
  cursor: pointer;
}

.dm3-rs .dm3-rs-current {
  cursor: default;
}

.dm3-rs {
  position: relative;
}

.shade-left, .shade-right {
  width: 53px;
  height: 100%;
  position: absolute;
  top: 0;
  z-index: 2;
  background: url("../images/slider-shades.png") repeat-y -53px 0;
  cursor: pointer;
}

.shade-right {
  right: 0;
  background-position: 0 0;
}

.dm3-rs .slide-caption {
  max-width: 60%;
  padding: 20px;
  position: absolute;
  z-index: 2;
  left: 20px;
  bottom: 20px;
  color: #fff;
  background: url("../images/transparent-black.png") repeat 0 0;
}

.dm3-rs .slide-caption .slide-title {
  color: #fff;
  font-size: 30px;
  line-height: 34px;
}

.dm3-rs .slide-caption .slide-description {
  margin-top: 10px;
}

.dm3-rs .slide-caption .slide-link {
  margin-top: 10px;
}

.dm3-rs .slide-caption .slide-link a {
  color: #fff;
}

.dm3-rs .slide-caption .slide-link a:hover {
  text-decoration: underline;
}


/**************************
 * Design for a width of 768px
 **************************/
@media only screen and (min-width: 768px) and (max-width: 959px) {
  .content > .content-inner { width: 848px; }

  #logo {
    margin-left: 20px;
  }

  .dm3-gallery-2 > li {
    width: 364px;
  }

  .dm3-gallery-3 > li {
    width: 236px;
  }

  .dm3-gallery-4 > li {
    width: 172px;
  }
}


/**************************
 * Design for a width of 320px
 **************************/
@media only screen and (max-width: 767px) {
  .content > .content-inner { width: 380px; }

  #site-bg, #site-bg-overlay {
    background: none #ddd;
  }

  #content-header, #footer {
    background: #000;
  }

  #header-search {
    margin-top: 0;
    margin-bottom: 0;
    background: #333;
  }

  #content-header {
    margin-top: 0;
    margin-bottom: 0;
  }

  #content-header h1,
  #content-header h2 {
    float: none;
  }

  #content-header .page-description {
    margin: 0;
    float: none;
  }

  .content > .section {
    margin-top: 0;
  }

  #footer {
    margin-bottom: 0;
  }

  /* Header */
  #header-toolbar {
    position: absolute;
  }

  #header-toolbar .header-contact {
    display: none;
  }

  #site-nav {
    position: absolute;
  }

  #logo {
    padding-left: 20px;
    max-width: 240px;
  }

  #logo a {
    margin-left: 0;
  }

  #logo img {
    max-width: 100%;
    height: auto;
  }

  #ajax-preloader {
    width: 30px;
    height: 30px;
    margin: -15px 0 0 20px;
    background: #fff url("../images/preloader-small.gif") no-repeat center center;
  }

  #nav {
    display: none;
  }

  #nav-mobile {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 9999;
  }

  #nav-mobile > li > a {
    font-family: 'bebas_neueregular', Arial, Helvetica, sans-serif;
    font-size: 20px;
  }

  #nav-mobile a {
    display: block;
    padding: 10px 20px;
    color: #fff;
    background: url("../images/transparent-black.png") repeat 0 0;
  }

  #nav-mobile .current-menu-item > a {
    color: #0689c0;
  }

  #nav-mobile ul a {
    padding-left: 40px;
  }

  #nav-mobile ul ul a {
    padding-left: 80px;
  }

  #nav-mobile.active {
    display: block;
  }

  #mobile-nav-trigger,
  #search-trigger {
    display: block;
    background: #eee;
    width: 40px;
    height: 40px;
    line-height: 38px;
    position: absolute;
    right: 20px;
    bottom: 0;
    text-align: center;
  }

  #search-trigger {
    margin: 0;
    padding: 0;
    right: 60px;
  }

  #mobile-nav-trigger span,
  #search-trigger span {
    font-size: 21px;
    vertical-align: middle;
    color: #000;
  }

  #mobile-nav-trigger.active,
  #search-trigger.active {
    background: #000;
  }

  #mobile-nav-trigger.active span,
  #search-trigger.active span {
    color: #fff !important;
  }

  #nav-pointer {
    display: none !important;
  }


  .sidebar-inner {
    margin-top: 20px;
    padding-left: 0;
  }


  .posts .post-meta {
    width: auto;
    float: none;
  }

  .posts .post-meta ul {
    margin: 0 0 10px -20px;
    overflow: hidden;
  }

  .posts .post-meta li {
    padding: 0;
    margin: 0 0 0 20px;
    float: left;
    border: 0 !important;
  }

  .posts .post-meta li > div {
    display: inline;
  }

  .posts .post-meta-label {
    margin-right: 5px;
  }

  .posts .post-media,
  .posts .post-header,
  .posts .post-content,
  .posts .post-footer {
    margin-left: 0;
  }


  #contact-block {
    width: auto;
    position: static;
    border-radius: 0;
  }

  #contact-map {
    height: 250px;
  }

  .dm3-gallery-2 > li,
  .dm3-gallery-3 > li,
  .dm3-gallery-4 > li {
    width: 300px;
  }

  .dm3-rs .slide-caption {
    padding: 10px;
    left: 10px;
    bottom: 10px;
  }

  .dm3-rs .slide-caption .slide-title,
  .dm3-rs .slide-caption .slide-description {
    display: none;
  }

  .dm3-rs .slide-caption .slide-link {
    margin-top: 0;
  }
}


/**************************
 * Design for a width of 480px
 **************************/
@media only screen and (min-width: 480px) and (max-width: 767px) {
  .content > .content-inner { width: 500px; }

  .dm3-gallery-2 > li,
  .dm3-gallery-3 > li,
  .dm3-gallery-4 > li {
    width: 200px;
  }
}